package lamda;

import java.util.Arrays;
import java.util.List;
import java.util.function.Predicate;

/**
 * @auther 黄伟
 * @description 测试4：predicate函数式接口测试<br>
 *     用于过滤
 * @date 2019/3/26
 */
public class LamdaTest04 {
    // java程序入口
    public static void main(String[] ages){

        List<String> languages = Arrays.asList("Java", "Scala", "C++", "Haskell", "Lisp");
        System.out.println("列表中存在l字符的字符串：") ; // 打印输出信息
        fileter(languages,(str)->str.toString().contains("l"));
    }

    /**
     * 过滤器<br>
     *     用于测试predicate函数式接口
     * @param list 字符串集合列表
     * @param predicate predicate函数式接口
     */
    public static void fileter (List<String> list, Predicate predicate) {
        for (String name:list) {
            if (predicate.test(name)) {
                System.out.println(name) ; // 打印输出信息
            }
        }
    }
}
